home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / tjgold.zip / INSTALL.002 / GOLDTINT.PAS < prev    next >
Pascal/Delphi Source File  |  1995-07-12  |  20KB  |  523 lines

  1. {--------------------------------------------------------------------------}
  2. {                Product: TechnoJock's Turbo Toolkit                       }
  3. {                Version: GOLD                                             }
  4. {                Build:   1.01                                             }
  5. {                                                                          }
  6. {                Copyright 1986-1995  TechnoJock Software, Inc.            }
  7. {                           All Rights Reserved                            }
  8. {                          Restricted by License                           }
  9. {--------------------------------------------------------------------------}
  10.  
  11.                     {**********************************}
  12.                     {**       Unit:   GOLDTINT       **}
  13.                     {**********************************}
  14.  
  15. {++++++++++++++++++++++++++++++} unit GOLDTINT; {++++++++++++++++++++++++++++}
  16.  
  17. {$I GOLDFLAG.INC}
  18. {$IFNDEF GOLDTINT}
  19.    {$DEFINE GOLDTINT}
  20. {$ENDIF}
  21.  
  22. {++++++++++++++++++++++++++++++++} INTERFACE {+++++++++++++++++++++++++++++++}
  23.  
  24. uses DOS, CRT,
  25.      GoldAttr, GoldHard;
  26.  
  27. type
  28.    TintElement = (Fast,           {WriteCol defaults}
  29.       Progress1,
  30.       Progress2,
  31.       ProgressPercent,
  32.       WinBorder,                  {Window defaults}
  33.       WinBorder3DIn,
  34.       WinBorder3DOut,
  35.       WinTitle,
  36.       WinBody,
  37.       WinIcons,
  38.       WinCaption,
  39.       WinCustom,
  40.       WinMoveBody,
  41.       WinMoveHi,
  42.       WinBorderOff,
  43.       PromptBorder1,                {misc. messages for WinMessage, etc.}
  44.       PromptBorder2,
  45.       PromptTitle,
  46.       PromptIcons,
  47.       PromptBody,
  48.       PromptBodyHi,
  49.       PromptNormalCmt,
  50.       PromptHiCmt,
  51.       PromptEditErase,
  52.       PromptEditNorm,
  53.       PromptEditHi,
  54.       PromptButtonNorm,               {prompt buttons}
  55.       PromptButtonNormHot,
  56.       PromptButtonHi,
  57.       PromptButtonHiHot,
  58.       PromptButtonDef,
  59.       PromptButtonDefHot,
  60.       CalBorder,                  {Calendar defaults}
  61.       CalBorderOff,
  62.       CalTitle,
  63.       CalIcons,
  64.       CalActiveMonth,
  65.       CalEdgeMonth,
  66.       CalToday,
  67.       CalHiDay,
  68.       CalcBorder,                 {Calculator defaults}
  69.       CalcBorderOff,
  70.       CalcBody,
  71.       CalcTitle,
  72.       CalcIcons,
  73.       CalcInput,
  74.       CalcOperand,
  75.       CalcTape,
  76.       CalcButtons,
  77.       IOEditErase,                {Input fields}
  78.       IOEditNorm,
  79.       IOEditHi,
  80.       IOEditOff,
  81.       IOButtonNorm,               {buttons}
  82.       IOButtonNormHot,
  83.       IOButtonHi,
  84.       IOButtonHiHot,
  85.       IOButtonOff,
  86.       IOButtonDef,
  87.       IOButtonDefHot,
  88.       IOMessage,                  {IO messages}
  89.       IOLabelNorm,                {Field labels}
  90.       IOLabelNormHot,
  91.       IOLabelHi,
  92.       IOLabelHiHot,
  93.       IOLabelOff,
  94.       IOWinBorder1,
  95.       IOWinBorder2,
  96.       IOWinTitle,
  97.       IOWinBody,
  98.       IOWinIcons,
  99.       IOWinBorderOff,
  100.       IOCheckArea,                {check boxes}
  101.       IOChoiceHi,
  102.       IOChoiceHiHot,
  103.       IOChoiceNorm,
  104.       IOChoiceNormHot,
  105.       IOChoiceOff,
  106.       IOIcons,
  107.       IOIcons2,
  108.       IOListHi,
  109.       IOListHiHot,
  110.       IOListHiInactive,
  111.       IOListNorm,
  112.       IOListNormHot,
  113.       IOListOff,
  114.       IOListScroll,
  115.       Raised,
  116.       Sunken,
  117.       ListHi1,
  118.       ListHi2,
  119.       ListHiInactive,
  120.       ListNorm1,
  121.       ListNorm2,
  122.       ListOff,
  123.       ListMarkers,
  124.       ListScrollbarHi,
  125.       ListScrollbarNorm,
  126.       ListBorder1,
  127.       ListBorder2,
  128.       ListBorderOff,
  129.       ListTitle,
  130.       ListHeaders,
  131.       ListIcons,
  132.       MemoHi,
  133.       MemoNorm,
  134.       MemoBlock,
  135.       MemoScrollbarHi,
  136.       MemoScrollbarNorm,
  137.       MemoBorder1,
  138.       MemoBorder2,
  139.       MemoBorderOff,
  140.       MemoTitle,
  141.       MemoHeaders,
  142.       MemoIcons,
  143.       DirPathInfo,
  144.       DirFileInfo,
  145.       DirListInfo,
  146.       MenuHiHot,
  147.       MenuHi,
  148.       MenuNormHot,
  149.       MenuNorm,
  150.       MenuOff,
  151.       MenuBorder,
  152.       PullHiHot,
  153.       PullHi,
  154.       PullNormHot,
  155.       PullNorm,
  156.       PullOff,
  157.       PullMsgHot,
  158.       PullMsg,
  159.       PullBorder1,
  160.       PullBorder2,
  161.       DeskBack,
  162.       Generic
  163.       );
  164.  
  165.  
  166.  
  167.    TintSettings = array[Fast..Generic] of byte;
  168.  
  169.    TintSet = record
  170.       LeaveMonoTints: boolean;
  171.       UsingMonoTints: boolean;
  172.    end; { TintSet }
  173.  
  174.  
  175. const
  176.     ColorTints: TintSettings =
  177.        (15,            {   Fast                 }
  178.         63,            {   Progress1,           }
  179.         63,            {   Progress2,           }
  180.         63,            {   ProgressPercent,     }
  181.         159,           {   WinBorder            }
  182.         112,           {   WinBorder3DIn        }
  183.         127,           {   WinBorder3DOut       }
  184.         79,            {   WinTitle             }
  185.         159,           {   WinBody              }
  186.         154,           {   WinIcons             }
  187.         79,            {   WinCaption           }
  188.         120,           {   WinCustom            }
  189.         79,            {   WinMoveBody          }
  190.         78,            {   WinMoveHi            }
  191.         23,            {   WinBorderOff         }
  192.         63,            {   PromptBorder1        }
  193.         48,            {   PromptBorder2        }
  194.         79,            {   PromptTitle          }
  195.         49,            {   PromptIcons          }
  196.         48,            {   PromptBody           }
  197.         63,            {   PromptBodyHi         }
  198.         113,           {   PromptNormalCmt      }
  199.         121,           {   PromptHiCmt          }
  200.         47,            {   PromptEditErase      }
  201.         27,            {   PromptEditNorm       }
  202.         31,            {   PromptEditHi         }
  203.         27,            {   PromptButtonNorm     }
  204.         30,            {   PromptButtonNormHot  }
  205.         31,            {   PromptButtonHi       }
  206.         31,            {   PromptButtonHiHot    }
  207.         27,            {   PromptButtonDef      }
  208.         31,            {   PromptButtonDefHot   }
  209.         31,            {   CalBorder            }
  210.         31,            {   CalBorderOff         }
  211.         31,            {   CalTitle             }
  212.         26,            {   CalIcons             }
  213.         30,            {   CalActiveMonth       }
  214.         16,            {   CalEdgeMonth         }
  215.         29,            {   CalToday             }
  216.         62,            {   CalHiDay             }
  217.         112,           {   CalcBorder           }
  218.         112,           {   CalcBorderOff        }
  219.         112,           {   CalcBody             }
  220.         126,           {   CalcTitle            }
  221.         122,           {   CalcIcons            }
  222.         15,            {   CalcInput            }
  223.         122,           {   CalcOperand          }
  224.         122,           {   CalcTape             }
  225.         79,            {   CalcButtons          }
  226.         47,            {   IOEditErase          }
  227.         48,            {   IOEditNorm           }
  228.         31,            {   IOEditHi             }
  229.         120,           {   IOEditOff            }
  230.         32,            {   IOButtonNorm         }
  231.         46,            {   IOButtonNormHot      }
  232.         46,            {   IOButtonHi           }
  233.         46,            {   IOButtonHiHot        }
  234.         96,            {   IOButtonOff          }
  235.         43,            {   IOButtonDef          }
  236.         46,            {   IOButtonDefHot       }
  237.         0,             {   IOMessage            }
  238.         112,           {   IOLabelNorm          }
  239.         126,           {   IOLabelNormHot       }
  240.         127,           {   IOLabelHi            }
  241.         126,           {   IOLabelHiHot         }
  242.         120,           {   IOLabelOff           }
  243.         127,           {   IOWinBorder1         }
  244.         112,           {   IOWinBorder2         }
  245.         127,           {   IOWinTitle           }
  246.         127,           {   IOWinBody            }
  247.         122,           {   IOWinIcons           }
  248.         112,           {   IOWinBorderOff       }
  249.         48,            {   IOChoiceArea         }
  250.         63,            {   IOChoiceHi           }
  251.         62,            {   IOChoiceHiHot        }
  252.         48,            {   IOChoiceNorm         }
  253.         62,            {   IOChoiceNormHot      }
  254.         56,            {   IOChoiceOff          }
  255.         32,            {   IOIcons              }
  256.         26,            {   IOIcons2             }
  257.         31,            {   IOListHi             }
  258.         30,            {   IOListHiHot          }
  259.         63,            {   IOListHiInactive     }
  260.         48,            {   IOListNorm           }
  261.         62,            {   IOListNormHot        }
  262.         120,           {   IOListOff            }
  263.         63,            {   IOListScroll         }
  264.         127,           {   Raised               }
  265.         112,           {   Sunken               }
  266.         31,            {   ListHi1              }
  267.         30,            {   ListHi2              }
  268.         63,            {   ListHiInActive       }
  269.         48,            {   ListNorm1            }
  270.         63,            {   ListNorm2            }
  271.         56,            {   ListOff              }
  272.         31,            {   ListMarkers          }
  273.         48,            {   ListScrollbarHi      }
  274.         48,            {   ListScrollbarNorm    }
  275.         63,            {   ListBorder1          }
  276.         48,            {   ListBorder2          }
  277.         48,            {   ListBorderOff        }
  278.         79,            {   ListTitle            }
  279.         49,            {   ListHeaders          }
  280.         52,            {   ListIcons            }
  281.         31,            {   MemoHi               }
  282.         48,            {   MemoNorm             }
  283.         113,           {   MemoBlock            }
  284.         31,            {   MemoScrollbarHi      }
  285.         48,            {   MemoScrollbarNorm    }
  286.         19,            {   MemoBorder1          }
  287.         16,            {   MemoBorder2          }
  288.         16,            {   MemoBorderOff        }
  289.         30,            {   MemoTitle            }
  290.         25,            {   MemoHeaders          }
  291.         26,            {   MemoIcons            }
  292.         127,           {   DirPathInfo          }
  293.         127,           {   DirFileInfo          }
  294.         49,            {   DirListInfo          }
  295.         63,            {   MenuHiHot            }
  296.         62,            {   MenuHi               }
  297.         31,            {   MenuNormHot          }
  298.         30,            {   MenuNorm             }
  299.         23,            {   MenuOff              }
  300.         28,            {   MenuBorder           }
  301.         36,            {   PullHiHot            }
  302.         32,            {   PullHi               }
  303.         116,           {   PullNormHot          }
  304.         112,           {   PullNorm             }
  305.         120,           {   PullOff              }
  306.         127,           {   PullMsgHot           }
  307.         112,           {   PullMsg              }
  308.         112,           {   PullBorder1          }
  309.         127,           {   PullBorder2          }
  310.         23,            {   DeskBack             }
  311.         0              {   Generic              }
  312.        );
  313.     MonoTints: TintSettings =
  314.        (15,            {   Fast                 }
  315.         15,            {   Progress1,           }
  316.         15,            {   Progress2,           }
  317.         15,            {   ProgressPercent,     }
  318.         112,           {   WinBorder            }
  319.         112,           {   WinBorder3DIn        }
  320.         112,           {   WinBorder3DOut       }
  321.         112,           {   WinTitle             }
  322.         15,            {   WinBody              }
  323.         15,            {   WinIcons             }
  324.         112,           {   WinCaption           }
  325.         15,            {   WinCustom            }
  326.         15,            {   WinMoveBody          }
  327.         15,            {   WinMoveHi            }
  328.         7,             {   WinBorderOff         }
  329.         112,           {   PromptBorder1        }
  330.         112,           {   PromptBorder2        }
  331.         112,           {   PromptTitle          }
  332.         15,            {   PromptIcons          }
  333.         112,           {   PromptBody           }
  334.         15,            {   PromptBodyHi         }
  335.         112,           {   PromptNormalCmt      }
  336.         127,           {   PromptHiCmt          }
  337.         112,           {   PromptButtonNorm     }
  338.         112,           {   PromptEditErase      }
  339.         15,            {   PromptEditNorm       }
  340.         112,           {   PromptEditHi         }
  341.         15,            {   PromptButtonNormHot  }
  342.         15,            {   PromptButtonHi       }
  343.         15,            {   PromptButtonHiHot    }
  344.         15,            {   PromptButtonDef      }
  345.         7,             {   PromptButtonDefHot   }
  346.         112,           {   CalBorder            }
  347.         112,           {   CalBorderOff         }
  348.         112,           {   CalTitle             }
  349.         15,            {   CalIcons             }
  350.         15,            {   CalActiveMonth       }
  351.         7,             {   CalEdgeMonth         }
  352.         7,             {   CalToday             }
  353.         112,           {   CalHiDay             }
  354.         112,           {   CalcBorder           }
  355.         112,           {   CalcBorderOff        }
  356.         112,           {   CalcBody             }
  357.         126,           {   CalcTitle            }
  358.         112,           {   CalcIcons            }
  359.         15,            {   CalcInput            }
  360.         112,           {   CalcOperand          }
  361.         112,           {   CalcTape             }
  362.         240,           {   CalcButtons          }
  363.         112,           {   IOEditErase          }
  364.         15,            {   IOEditNorm           }
  365.         112,           {   IOEditHi             }
  366.         7,             {   IOEditOff            }
  367.         15,            {   IOButtonNorm         }
  368.         112,           {   IOButtonNormHot      }
  369.         112,           {   IOButtonHi           }
  370.         112,           {   IOButtonHiHot        }
  371.         7,             {   IOButtonOff          }
  372.         112,           {   IOButtonDef          }
  373.         112,           {   IOButtonDefHot       }
  374.         0,             {   IOMessage            }
  375.         7,             {   IOLabelNorm          }
  376.         15,            {   IOLabelNormHot       }
  377.         15,            {   IOLabelHi            }
  378.         15,            {   IOLabelHiHot         }
  379.         7,             {   IOLabelOff           }
  380.         15,            {   IOWinBorder1         }
  381.         15,            {   IOWinBorder2         }
  382.         112,           {   IOWinTitle           }
  383.         15,            {   IOWinBody            }
  384.         112,           {   IOWinIcons           }
  385.         112,           {   IOWinBorderOff       }
  386.         15,            {   IOChoiceArea         }
  387.         15,            {   IOChoiceHi           }
  388.         15,            {   IOChoiceHiHot        }
  389.         15,            {   IOChoiceHiInactive   }
  390.         7,             {   IOChoiceNorm         }
  391.         15,            {   IOChoiceNormHot      }
  392.         0,             {   IOChoiceOff          }
  393.         15,            {   IOIcons              }
  394.         15,            {   IOIcons2             }
  395.         7,             {   IOListHi,            }
  396.         112,           {   IOListHiHot,         }
  397.         7,             {   IOListNorm,          }
  398.         15,            {   IOListNormHot        }
  399.         0,             {   IOListOff            }
  400.         0,             {   IOListScroll         }
  401.         15,            {   Raised               }
  402.         7,             {   Sunken               }
  403.         112,           {   ListHi1              }
  404.         112,           {   ListHi2              }
  405.         63,            {   ListHiInActive       }
  406.         15,            {   ListNorm1            }
  407.         7,             {   ListNorm2            }
  408.         7,             {   ListOff              }
  409.         15,            {   ListMarkers          }
  410.         15,            {   ListScrollbarHi      }
  411.         7,             {   ListScrollbarNorm    }
  412.         15,            {   ListBorder1          }
  413.         15,            {   ListBorder2          }
  414.         15,            {   ListBorderOff        }
  415.         15,            {   ListTitle            }
  416.         15,            {   ListHeaders          }
  417.         15,            {   ListIcons            }
  418.         15,            {   MemoHi               }
  419.         7,             {   MemoNorm             }
  420.         112,           {   MemoBlock            }
  421.         15,            {   MemoScrollbarHi      }
  422.         7,             {   MemoScrollbarNorm    }
  423.         15,            {   MemoBorder1          }
  424.         15,            {   MemoBorder2          }
  425.         15,            {   MemoBorderOff        }
  426.         15,            {   MemoTitle            }
  427.         15,            {   MemoHeaders          }
  428.         15,            {   MemoIcons            }
  429.         112,           {   DirPathInfo          }
  430.         112,           {   DirFileInfo          }
  431.         112,           {   DirListInfo          }
  432.         15,            {   MenuHiHot            }
  433.         15,            {   MenuHi               }
  434.         15,            {   MenuNormHot          }
  435.         07,            {   MenuNorm             }
  436.         08,            {   MenuOff              }
  437.         07,            {   MenuBorder           }
  438.         15,            {   PullHiHot            }
  439.         07,            {   PullHi               }
  440.         15,            {   PullNormHot          }
  441.         112,           {   PullNorm             }
  442.         112,           {   PullOff              }
  443.         15,            {   PullMsgHot           }
  444.         127,           {   PullMsg              }
  445.         112,           {   PullBorder1          }
  446.         112,           {   PullBorder2          }
  447.         7,             {   DeskBack             }
  448.         0              {   Generic              }
  449.        );
  450.  
  451. procedure GoldSetColor(Zone:TintElement; Col:byte);
  452. function  GoldGetColor(Zone:TintElement): byte;
  453. procedure UseColorDefaults;
  454. procedure UseMonoDefaults;
  455. procedure UseColorScheme(var NewTints:TintSettings);
  456. procedure TintDefaultSettings;
  457.  
  458.  
  459. var
  460.    Tint: TintSettings;
  461.    TintVars: TintSet;
  462.  
  463. {+++++++++++++++++++++++++++++} IMPLEMENTATION {+++++++++++++++++++++++++++++}
  464.  
  465. procedure GoldSetColor(Zone:TintElement; Col:byte);
  466. {}
  467. begin
  468.    with TintVars do
  469.    if (not UsingMonoTints) or (not LeaveMonoTints) then
  470.       Tint[Zone] := Col;
  471. end; { GoldSetColor }
  472.  
  473. function GoldGetColor(Zone:TintElement): byte;
  474. {}
  475. begin
  476.    GoldGetColor := Tint[Zone];
  477. end; { GoldGetColor }
  478.  
  479. procedure UseColorDefaults;
  480. {}
  481. begin
  482.    Tint := ColorTints;
  483.    TintVars.UsingMonoTints := false;
  484. end; { UseColorSet }
  485.  
  486. procedure UseMonoDefaults;
  487. {}
  488. begin
  489.    Tint := MonoTints;
  490.    TintVars.UsingMonoTints := true;
  491. end; { UseMonoSet }
  492.  
  493. procedure UseColorScheme(var NewTints:TintSettings);
  494. {}
  495. begin
  496.    Tint := NewTints;
  497.    TintVars.UsingMonoTints := false;
  498. end; { UseColorScheme }
  499.  
  500.               {*********************************************}
  501.               {**  U N I T   I N I T I A L I Z A T I O N  **}
  502.               {*********************************************}
  503.  
  504. procedure TintDefaultSettings;
  505. {}
  506. begin
  507.    if ColorScreen then
  508.       UseColorDefaults
  509.    else
  510.       UseMonoDefaults;
  511.    TintVars.LeaveMonoTints := true;
  512. end; { TintDefaultSettings }
  513.  
  514. procedure GoldTINTInit;
  515. {}
  516. begin
  517.    TintDefaultSettings;
  518. end; {GoldTINTInit}
  519.  
  520. begin
  521.    GoldTINTInit;
  522. end.
  523.